In a typical video surveillance system, one or more cameras may be communicatively coupled to a server system. As video data is recorded by the cameras, it is forwarded to the server system where it is stored for subsequent retrieval. Client systems are communicatively coupled to the server system and may be used to request and receive streams of recorded video data.
Video surveillance systems are frequently required to be in operation twenty-four hours a day and seven days a week. As a result, large amounts of data may be recorded and stored by such systems. There are often physical limits to the amount of computing memory available for storing recorded data. The large amount of data that may be recorded in surveillance systems raises the practical issue of how to manage the data so that the desired data may be quickly accessed, while also operating within the storage capacity limits of the system.